package dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;

import metier.EnumStatusExemplaire;
import metier.Exemplaire;

public class ExemplaireDao {

	Connection cnx = null;

	public ExemplaireDao(Connection cnx) {
		this.cnx = cnx;
	}

	public Exemplaire findByKey(String idExemplaire) throws SQLException {
		Statement stmt1 = cnx.createStatement();
		ResultSet rs2 = stmt1
				.executeQuery("select * FROM exemplaire where idexemplaire = "
						+ idExemplaire);
		Exemplaire ex = null;

		while (rs2.next()) {
			int idexemplaire = rs2.getInt(1);
			String status = rs2.getString(3);
			Date dateachat = rs2.getDate(2);
			String isbn = rs2.getString(4);
			EnumStatusExemplaire enstex = EnumStatusExemplaire.valueOf(status);

			ex = new Exemplaire(idexemplaire, dateachat, enstex, isbn);
		}
		rs2.close();
		stmt1.close();

		return ex;

	}

	public ArrayList<Exemplaire> findall() throws SQLException {
		Statement stmt1 = cnx.createStatement();
		ArrayList<Exemplaire> listeExemplaire = new ArrayList<Exemplaire>();
		ResultSet rs3 = stmt1.executeQuery("select * FROM exemplaire");
		while (rs3.next()) {

			int idexemplaire = rs3.getInt(1);
			Date dateachat = rs3.getDate(2);

			String status = rs3.getString(3);
			String isbn = rs3.getString(4);
			EnumStatusExemplaire enstex = EnumStatusExemplaire.valueOf(status);

			Exemplaire ex = new Exemplaire(idexemplaire, dateachat, enstex,
					isbn);// mapping Objet Relationel
			listeExemplaire.add(ex);

		}
		stmt1.close();
		rs3.close();

		return listeExemplaire;
	}

}
